﻿#pragma once

#include "MapObject.h"
#include "../../Shared/Enums.h"
#include "../../Shared/ServerPackets.h"
#include <string>

using namespace Client::MirGraphics;
using namespace Client::MirScenes;
namespace S = ServerPackets;

namespace Client::MirObjects
{
    class ItemObject : public MapObject
    {
    public:
        virtual ~ItemObject()
        {
            delete Size;
        }

        ObjectType getRace() const override;

        bool getBlocking() const override;

        Size *Size;


        ItemObject(unsigned int objectID);


        void Load(S::ObjectItem *info);
        void Load(S::ObjectGold *info);
        void Draw() override;

        void Process() override;
        bool MouseOver(Point *p) override;

        void DrawName() override;

        void DrawBehindEffects(bool effectsEnabled) override;

        void DrawEffects(bool effectsEnabled) override;

        void DrawName(int y);

    private:
        void CreateLabel(Color *backColour, bool border, bool outline);


    };
}
